package com.gitee.solon.admin.config;

import com.zaxxer.hikari.HikariDataSource;
import org.apache.ibatis.solon.annotation.Db;
import org.noear.solon.annotation.Bean;
import org.noear.solon.annotation.Configuration;
import org.noear.solon.annotation.Inject;
import org.noear.solon.data.dynamicds.DynamicDataSource;

import javax.sql.DataSource;

@Configuration
public class MyBatisConfig {
    /**
     * 主数据源
     * @param ds
     * @return
     */
    @Bean(name = "db1", typed = true)
    public DataSource db1(@Inject("${test.db1}") HikariDataSource ds) {
        return ds;
    }

    /**
     * 动态数据源（直接注入）
     */
    @Bean("db2")
    public DataSource dbErp(@Inject("${test.db2}") DynamicDataSource dataSource) {
        return dataSource;
    }

    // 调整 db1 的配置，或添加插件
    @Bean
    public void db1_cfg(@Db("db1") org.apache.ibatis.session.Configuration cfg) {
        cfg.setCacheEnabled(false);
    }
}